home *** CD-ROM | disk | FTP | other *** search
/ PCMania 73 / PCMania CD73_1.iso / sharewar / varios / partial / LIB / ARTICULO.014 < prev    next >
Text File  |  1996-02-01  |  8KB  |  167 lines

  1.                         /*    CRIPTOGRAFIA    */
  2.  
  3. Bienvenidos a una nueva sección [ haber como que es el 1º número!, a veces
  4. me impresiono de lo inteligente que puedo ser ;-) ]
  5. , Partial Zone no podía olvidar uno de los temas que están resonando
  6. últimamente con gran fuerza aunque su prodecendiencia es antiquísima,
  7. parece ser que hoy en día su utilización es imprescindible. El aumento de la
  8. libertad de información, de los medios de comunicación, etc, hace que muchos
  9. usuarios, empresas ... tengan que encriptar cierta información que va dirigida
  10. a un público determinado, la cuestión es si podemos fiarnos de los algoritmos
  11. criptográficos utilizados y lo mejor como reventarlos ( HE! HE! ).
  12.  
  13. En esta sección se hará un recorrido histórico desde la Criptografía Clásica
  14. a sistemas actuales como RSA, DES, firmas digitales ( los estudiaremos con
  15. detenimiento ), y lo más importante la criptografía en el comercio
  16. electrónico ( tarjetas monedero, etc.) y si tenemos tiempo crearemos
  17. nuestros propios algoritmos matemáticos.
  18.  
  19. Bueno al corte ...
  20.  
  21. DEFINICION
  22. ----------
  23.  
  24. El términco criptografía proviene de las palabras griegas Kriptos y Graphos
  25. que traducido significa  oculto y escribir, respectivamente, por lo
  26. tanto para que nos entendamos es el modo de realizar una escritura secreta, es
  27. decir, símbolos, letras, etc ... que escondan aparentemente la información
  28. deseada.
  29. El estudio de la escritura secreta o encriptada / codificada se conoce como
  30. criptoanálisis y la ciencia que se ocupa tanto del criptoanálisis como de la
  31. criptografía se denomina CRIPTOLOGIA.
  32. Por otro lado el sistema para escribir un mensaje oculto se conoce como
  33. Criptosistema y el mensaje secreto como Criptograma. La acción de
  34. transformar un mensaje comprensible en uno inteligible se denomina
  35. criptografiado o cifrado y al proceso inverso descifrado, aunque es más común
  36. la utilización de términos como encriptado y desencriptado
  37.  
  38. A POR LOS ALGORITMOS CRIPTOGRAFICOS.
  39. ------------------------------------
  40.  
  41. Empecemos por los algoritmos criptográficos clásicos ( aproximadamente datan
  42. del siglo V a.C ), es decir, todos aquellos hasta los de este siglo, que son
  43. considerados como modernos.
  44. Los algoritmos clásicos estaban orientados a ocultar la información mediante
  45. sustituciones y transposiciones en el orden de los caracteres que constituían
  46. el texto.
  47.  
  48. En cuanto a los algoritmos de transposición consisten en variar el orden
  49. de colocación de los caracteres que se encuentran en el texto comprensible
  50. ,no le dedicaremos mayor atención debido a que solo no es efectivo, es decir,
  51. es fácil para un criptoanalista obtener el algoritmo de encriptación, de
  52. todos modos más adelante veremos en que se basan los criptoanalistas para
  53. estudiar un texto cifrado.
  54.  
  55. Por otro lado podemos distinguir 4 tipos de cifrados de sustitución:
  56.  
  57. -SUSTITUCION SIMPLE: Cada caracter del texto en claro le corresponde un
  58. caracter en el texto cifrado, siempre el mismo, es conocido también por el
  59. nombre de 'one to one mapping'.
  60.  
  61. -SUSTITUCION HOMOFONICA: Es aquel en la cual cada caracter del texto en claro
  62. puede ser sustituido por un caracter diferente en el texto cifrado, es
  63. conocido también como 'one-to-many mapping'.
  64.  
  65. -SUSTITUCION POLIALFABETICA: Cada caracter es cifrado con alfabetos de
  66. caracteres diferentes dependiendo de una clave, es conocido como 'multiple
  67. mapping'.
  68.  
  69. -SUSTITUCION POLIGRAMICA: Se caracteriza por sustituir bloques de caracteres
  70. en lugar de una sustitución uno a uno, que permite ocultar en cierto modo
  71. el algoritmo criptográfico ante un análisis frecuencial ( oculta la frecuencia
  72. de aparición de caracteres )
  73.  
  74. UNO A UNO
  75. ----------
  76.  
  77. Ahora vamos a ver ejemplos de estos tipos de sustituciones, ya clásicos en
  78. este mundillo...
  79.  
  80. METODO CESAR
  81. ------------
  82.  
  83. Este algoritmo está atribuido a Julio César ( siglo I a.C ) y consistía y
  84. consiste en sustituir cada símbolo del alfabeto por la letra que se encuentre
  85. tres posiciones a su derecha.
  86.  
  87. Por ejemplo:
  88.                 A B C D E     Mensaje Comprensible: CABE
  89.                 D E F G H     Mensaje Cifrado:      FDEH
  90.  
  91. La expresión (y nos iremos aconstumbrando a estas expresiones ) matemática
  92. sería C=( M + 3) mod 27, donde C es el mensaje cifrado, M el mensaje
  93. compresible y mod el resto de la división entera entre ( M + numero ) y el
  94. valor de mod , por ejemplo apliquemos esto a la letra 'Z=26',
  95. C=( 26 + 3) mod 27,= 29 mod 27 = 2, que corresponde a la letra 'C' ( recordar
  96. que la A=0 , por lo tanto si cogemos la Z y nos situamos 3 lugares a su
  97. derecha obtendremos la C).
  98.  
  99. Variantes de este algoritmo sitúan en vez de 3 posiciones a su derecha, un
  100. número comprendido entre el 0 y el 26 ( las 26 letras del alfabeto español )
  101. Al existir únicamente 26 letras en el alfabeto y al tratarse de una
  102. sustitución uno a uno, es facilmente vulnerable ante un estudio estadístico
  103. en aparición en la frecuencia de caracteres. De todos modos aunque
  104. el número caracteres posibles de encriptar fuera mayor, como en el caso
  105. del programa ejemplo que incluyo, sería igualmente vulnerable.
  106.  
  107. SUSTITUCION SIMPLE MONOALFABETO
  108. -------------------------------
  109.  
  110. Este método es una variante más compleja ( JA! ) que el método anterior,
  111. realiza una sustitución de cada símbolo del alfabeto por otro según la
  112. expresión matemática C= ( y M + x) mod 27, entonces sustituimos un valor
  113. en X e Y, y realizamos el proceso anterior teniendo encuenta las variables
  114. ( sencillo no? ).
  115. Las combinaciones que existen o se producen en este caso son elevadas pero
  116. sin embargo como el cifrado sigue siendo uno a uno este método es vulnerable
  117. al análisis estadístico.
  118.  
  119. SUSTITUCION HOMOFONICA
  120. ----------------------
  121.  
  122. Este método consiste en sustituir un caracter por otro que no sea siempre
  123. igual, ya que le corresponden un conjunto de símbolos, que reciben el
  124. nombre de homofemas. Cada conjunto tiene un número de símbolos proporcional
  125. a la frecuencia de aparición de cada símbolo en el alfabeto del idioma en
  126. cuestión, entonces se eligen aleatoriamente y ya está...
  127.  
  128. Conjuntos Homofónicos   Alfabeto
  129.  
  130.         07,13,15...       A                Mensaje Comprensible-> REAL
  131.         14,25,44...       E                Mensaje Cifrado-> 19,14,07,11
  132.         11,31,52...       L                                      o
  133.         19,34,64...       R                                  34,44,13,31
  134.  
  135.                                                              etc...
  136.  
  137. De este modo se complica bastante el estudio mediante el análisis estadístico.
  138. De todos modos hay que tener en cuenta que estos métodos por si sólos son
  139. pocos efectivos, sin embargo si realizaramos un sistema de cifrado
  140. por etapas, una sustitución homofónica más perfeccionada permitiría variar
  141. la frecuencia de aparición de caracteres que en cierto modo dificultaría
  142. a un más el posible estudio de nuestro sistema de cifrado. ( Algún día
  143. hablaremos de uno de los misteríos de la criptografía que se basa
  144. precisamente en unos cifrados de sustitución homofónica, eso si a lo bestia:
  145. los cifrados de Beale )
  146.  
  147. Bueno por hoy ya está bien, el próximo número continuaremos con las
  148. sustituciones polialfabeto ( de Vigenere ), el cifrado de Vernam,
  149. los cifrados con xor, not, or... y nos introduciremos en el mundo de las
  150. claves públicas, secretas, etc.
  151.  
  152. En el directorio REGALOS\CRIPT se encuentra un programa hecho en C que
  153. muestra una posible variante del código de Cesar, he optado por no
  154. incluir más ejemplos en programas para que así el lector pueda desarrollarlos
  155. por si mísmo, de todos modos lo importante, por lo menos así lo creo, es
  156. conocer por ahora la teoría, pues cualquier programador con un pizca de
  157. imaginación podrá hacer esto y sistemas de cifrado mucho más complejos.
  158.  
  159. Por último me gustaría enviar un agradecimiento a todas las publicaciones,
  160. revistas, libros, web's, etc... que muestran especial atención en divulgar
  161. estos conocimientos y un agradecimiento personal, entre otros, a Spree por
  162. sus artículos en VZM que nos introdujo a muchos, entre ellos yo, en este
  163. maravilloso mundo de la criptografía.
  164.  
  165.                                                                 HANDLER
  166.  
  167.